An application may be a software program on a computing device or distributed across multiple computing devices across a network. Performance tests may determine the speed, responsiveness or stability of an application when a workload is applied to the application. Performance tests may be completed by executing manual or automated test scripts on an application. The test scripts may include test cases. Test cases may be example tasks to be completed by the software in various situations with various types of data. The performance test may have certain desirable performance requirements for executing the test cases. For example, a test case may include calls to an API which returns a result. The desired performance requirement may be that the API returns the result within 1 ms. The performance test may track the amount of time the API took to return the result.
Performance testing of different software applications is important to determine the durability, reliability, and efficiency of the software application being tested. A software application may be executed in various situations in the real-world. Performance testing provides insight into how the software application handles real-world situations such as processing large amounts of data, software application deals with exception handling, system outages, bad data, and/or the like. Results of a performance test may provide an understanding of whether the software application is ready for the production (i.e., real-world) environment, or whether further tweaks to the software application or production environment are needed.
Performance testing may be an iterative process, requiring manual configuration of test data and environments to ultimately identify an environment that can execute the application in a manner that satisfies the performance requirement. In this regard, incorrect configurations may be tested, which use unnecessary computational resources. In addition, performance testing may require a lot of manual work of spinning up test environments with different infrastructures. Not only is configuring test environments time consuming, creation of test data can also be time-consuming. Thus, analyzing the test results and identifying the right configurations for production deployments may be a time consuming and error-prone task.
The drawing in which an element first appears is typically indicated by the leftmost digit or digits in the corresponding reference number. In the drawings, like reference numbers may indicate identical or functionally similar elements.